Virtual Desktop Infrastructure (VDI) refers to a system of providing complete centrally-managed desktops to users using computer virtualization technology. VDI is used to create a large number of independent computing environments for a large number of users. The desktop users may be grouped together based on similar software and computing needs. The desktops themselves are correspondingly grouped together in “desktop pools” that may be provisioned, managed, and deleted as single entities. In VDI, each desktop is exported to the user from a virtual machine that is assigned to the user. The desktop pools are associated with resources in the datacenter, including, but not limited to, compute resources, memory, network, and storage.
Computer cloning is used to provide independent virtual machines to different users. The clones are created by copying a master virtual disk image file (sometimes called a “template”) that has all the necessary software required for all users in the user pool, except that each clone can have its own identity (i.e., network address, computer name, etc.). In this way, VDI enables users, from remote terminals, to access virtualized desktop computers, in the form of virtual machines, so as to be able to have working sessions that are isolated from the sessions of other users and that can be stored and even migrated to different physical platforms as the need arises.
Traditional cloning processes create full copies of the master virtual disk image file, which may then be “personalized” by giving each clone its own identity. The master virtual disk image file is designed to contain the operating system and software, as well as any associated data files and default user settings, that each user is expected to need. Recent advances in cloning technologies have introduced new ways of fast cloning using thin disks. The term “thin disk” is used herein to refer to a representation of a disk image whose logical size is greater than its physical size. In other words, the amount of addressable space provided by the virtual disk represented by the virtual disk image file is greater than the size of the virtual disk image file itself. Examples of thin disks include “sparse disks” and “delta disks.” A sparse disk is a disk image that defines the contents of a disk, but does not include “empty sector” data. A delta disk, also referred to as a “REDO log” or “copy-on-write” disk, contains the differences between the disk itself and a master or parent disk image. A delta disk can be significantly smaller than the logical size of the disk when the delta disk has much of the same content as the master image.
Thin disk cloning reduces the initial space occupied by the virtual machines on storage. A virtual machine typically includes configuration and state information plus the disk data, with the disk data typically being most of the data that represents the virtual machine. A “thin clone” is a representation (e.g., in a file) of a cloned virtual machine that includes one or more thin disk images for the cloned virtual machine. U.S. patent application Ser. No. 12/058,269, filed Mar. 28, 2008, describes technology for separating the computer operating system and user personality into different virtual disks (REDO disks or thin disks) on storage. With this technology, a delta (or redo) file is created that defines the differences from a “master” file.
Because the virtual disk(s) for each desktop will grow over time, the desktop provisioning software leaves some growth buffer for virtual desktops on the physical data store. Additionally, if a virtual desktop continues to grow over time, it can occupy the space required for a similar “full clone.” Desktop management software may monitor and contain the growth of virtual desktops.